package com.wonders.hisdoctor.station.project.base.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wonders.his.common.utils.validator.group.PrimaryGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>门诊医嘱处方明细临时表：处方医嘱队列OUTP_PRESC一个复制。</p>
 * <p>db_table: OUTP_PRESC_T</p>
 * @author tong_aj
 * @date 2021/01/19
 */
@ApiModel("门诊医嘱处方明细临时表：处方医嘱队列OUTP_PRESC一个复制。")
@Accessors(chain = true)
@Data
@ToString
@TableName("OUTP_PRESC_T")
public class OutpPrescT implements Serializable {

    private static final long serialVersionUID = -1893654082601833547L;

    /** db_field: VISIT_DATE; desc: 就诊日期：该医嘱对应挂号记录的就诊日期 */
    @ApiModelProperty("就诊日期：该医嘱对应挂号记录的就诊日期")
    @TableField("VISIT_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date visitDate;

    /** db_field: VISIT_NO; desc: 就诊序号：该医嘱对应挂号记录的就诊序号 */
    @ApiModelProperty("就诊序号：该医嘱对应挂号记录的就诊序号")
    @TableField("VISIT_NO")
    private Integer visitNo;

    /** `主键` db_field: SERIAL_NO; desc: 流水号：对应OUTP_ORDERS中的流水号（注意为字符串类型） */
    @ApiModelProperty("流水号：对应OUTP_ORDERS中的流水号（注意为字符串类型）")
    @NotNull(message = "流水号：对应OUTP_ORDERS中的流水号（注意为字符串类型）不能为空", groups = PrimaryGroup.class)
    @TableField("SERIAL_NO")
    private String serialNo;

    /** db_field: PRESC_NO; desc: 处方序号：标识一次就诊中的第几张处方，从1开始递增 */
    @ApiModelProperty("处方序号：标识一次就诊中的第几张处方，从1开始递增")
    @TableField("PRESC_NO")
    private Integer prescNo;

    /** `主键` db_field: ITEM_NO; desc: 项目序号：同一处方中药品序号 */
    @ApiModelProperty("项目序号：同一处方中药品序号")
    @NotNull(message = "项目序号：同一处方中药品序号不能为空", groups = PrimaryGroup.class)
    @TableField("ITEM_NO")
    private Integer itemNo;

    /** db_field: ITEM_CLASS; desc: 项目类别：中药、西药 */
    @ApiModelProperty("项目类别：中药、西药")
    @TableField("ITEM_CLASS")
    private String itemClass;

    /** db_field: DRUG_CODE; desc: 药名编码：见药品字典 */
    @ApiModelProperty("药名编码：见药品字典")
    @TableField("DRUG_CODE")
    private String drugCode;

    /** db_field: DRUG_NAME; desc: 药品名称 */
    @ApiModelProperty("药品名称")
    @TableField("DRUG_NAME")
    private String drugName;

    /** db_field: DRUG_SPEC; desc: 药品规格 */
    @ApiModelProperty("药品规格")
    @TableField("DRUG_SPEC")
    private String drugSpec;

    /** db_field: FIRM_ID; desc: 厂家标识 */
    @ApiModelProperty("厂家标识")
    @TableField("FIRM_ID")
    private String firmId;

    /** db_field: UNITS; desc: 单位：见计量单位字典 */
    @ApiModelProperty("单位：见计量单位字典")
    @TableField("UNITS")
    private String units;

    /** db_field: AMOUNT; desc: 数量：对应于上面的规格、单位的药品总的数量 */
    @ApiModelProperty("数量：对应于上面的规格、单位的药品总的数量")
    @TableField("AMOUNT")
    private BigDecimal amount;

    /** db_field: DOSAGE; desc: 一次用量：单次用药量 */
    @ApiModelProperty("一次用量：单次用药量")
    @TableField("DOSAGE")
    private BigDecimal dosage;

    /** db_field: ADMINISTRATION; desc: 用药途径：如口服、肌注等 */
    @ApiModelProperty("用药途径：如口服、肌注等")
    @TableField("ADMINISTRATION")
    private String administration;

    /** db_field: FREQUENCY; desc: 频次：执行的频次，如1/日 */
    @ApiModelProperty("频次：执行的频次，如1/日")
    @TableField("FREQUENCY")
    private String frequency;

    /** db_field: PROVIDED_INDICATOR; desc: 自备标记：1-病人自备药，0-正常计价 */
    @ApiModelProperty("自备标记：1-病人自备药，0-正常计价")
    @TableField("PROVIDED_INDICATOR")
    private Integer providedIndicator;

    /** db_field: CHARGE_INDICATOR; desc: 收费标记：1-已收费，0-未收费 */
    @ApiModelProperty("收费标记：1-已收费，0-未收费")
    @TableField("CHARGE_INDICATOR")
    private Integer chargeIndicator;

    /** db_field: DISPENSARY; desc: 摆药药局 */
    @ApiModelProperty("摆药药局")
    @TableField("DISPENSARY")
    private String dispensary;

    /** db_field: PRESC_ID; desc: 处方标识号：唯一标识一张处方。格式：8位日期字符+5位数字字符即YYYYMMDD+NNNNN。其中5位数字字符由处方序号发生器产生。门诊医生工作站系统在打印处方时打印此处方标识号的条码供门诊发药程序使用。 */
    @ApiModelProperty("处方标识号：唯一标识一张处方。格式：8位日期字符+5位数字字符即YYYYMMDD+NNNNN。其中5位数字字符由处方序号发生器产生。门诊医生工作站系统在打印处方时打印此处方标识号的条码供门诊发药程序使用。")
    @TableField("PRESC_ID")
    private String prescId;

    /** db_field: REPETITION; desc: 付（剂）数：适用于中草药处方，西药处方默认是1 */
    @ApiModelProperty("付（剂）数：适用于中草药处方，西药处方默认是1")
    @TableField("REPETITION")
    private Integer repetition;

    /** db_field: MATERNITY_INSUR_IND; desc: MATERNITY_INSUR_IND */
    @ApiModelProperty("MATERNITY_INSUR_IND")
    @TableField("MATERNITY_INSUR_IND")
    private Integer maternityInsurInd;

}